home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / hamradio / tnos-2.10 / tnos-2 / features.new < prev    next >
Text File  |  1996-07-23  |  40KB  |  1,070 lines

  1. Welcome to TNOS release 2.10
  2.  
  3. *** NOTE ***
  4.  
  5. There are MANY things in this file that you NEED to read!
  6.  
  7.      keys         actions
  8.      ===========  ==============================
  9.      h,H,<        move to the top of file (HOME)
  10.      e,>          move to the end of file
  11.      ^D           move down the file 1/2 screen
  12.      ^U           move up the file 1/2 screen
  13.      d,^N,j       move down the file one line
  14.      D,^V         move down the file one page
  15.      u,^P,k       move up the file one line
  16.      U,v          move up the file one page
  17.      ^C,q,Q,ESC   exit VIEWER
  18.      other keys   redisplay screen
  19.  
  20. This is the new features file, named 'features.new'. If you rename this
  21. file (or move it to another directory, you will not be prompted for viewing
  22. this on each startup.
  23.  
  24.  
  25.     * Bug Fixes
  26.     * Improvements
  27.     * Minor Changes
  28.     * Known Bugs
  29.     * To-Do List
  30.  
  31.  
  32. ------------------------------------------------------------
  33. Bug Fixes:
  34.  
  35. The following bugs have been squashed.
  36.  
  37.  
  38. *    Fixed buglet related to finding Finger files and REQSVR Help file
  39.  
  40. *    Fixed buglet which sometimes stripped beginning of REQSVR uploaded file
  41.  
  42. *    Placed in a temporary workaround for a wpages design problem
  43.  
  44.  
  45.   The problem occurs if an smtp message comes into the SMTP server of the
  46.   form "user%bbs.#heir.address@hostname" *AND* the 'wp support' is on.
  47.  
  48.   It seems that the original string is getting passed TO the wpage_exp
  49.   routine, and it can't handle it at this time.
  50.  
  51.   The result depends on your system. DOS, I don't know, but I suspect a
  52.   glorious crash. Unix, if you have no (or little) swap space, then a TNOS
  53.   crash. Unix with ample swap space, eternal thrashing with little chance
  54.   of recovery short of hitting reset button.
  55.  
  56.   It seems to be getting into a recursive loop, with multiple memory
  57.   allocations. Not really sure WHERE the exact problem is (at the present),
  58.   but here's a simple workaround....
  59.  
  60. *    Fixed an obscure bug that would crash if expanding a empty group
  61.  
  62. *    Fixed a bug that would crash handling the features.new file
  63.  
  64.   This only occurred on SOME systems, which is REALLY surprising.
  65.  
  66. *    Patch to 'ip access' command to insure proper number of parameters
  67.  
  68. *    Fixed buglet in 2.02 with PBBS forwarding messages with blank subjects
  69.  
  70. *    Fixed convers timestamp buglet
  71.  
  72. *    Altered BBS Send command parser to allow '$' in 'to' and 'bbs' names
  73.  
  74. *    Fixed a HUGE bug in FBB compression code
  75.  
  76. *    MANY, MANY assorted cleanups and bug fixes
  77.  
  78. *    The above are included in 2.02pl1 
  79.  
  80. *    Fixed a buglet with the BBS's 'editheader' function
  81.  
  82. *    Fixed a buglet that affected FBB forwarding negotiations
  83.  
  84. *    Added code to ensure that new messages PBBS forward (FBB) timely
  85.  
  86. *    Fixed an occasion crash with SMTP messages with long lines
  87.  
  88. *    Fixed a cosmetic bug with some 'forward' subcommands
  89.  
  90.   Some of the subcommands reports errors as being 'mbox' subcommand errors,
  91.   not 'forward' subcommand errors.
  92.  
  93. *    RSPF timer routine fixed - thanks Paul
  94.  
  95. *    Fix for tracing to Xserver, if using dumb session mgr (UNIX only)
  96.  
  97. *    Fix for T/TCP from Paul
  98.  
  99. *    Fixed problem if mail queued for fwding is being held
  100.  
  101.   ACTUALLY, this bug COULD have occurred with each and every forwarding
  102.   session, causing crashes or freeing others memory. It seemed to only
  103.   occur after the system has tried MANY times to fwd traffic, but it
  104.   still remains held for review. Usually result would be a reset.
  105.  
  106. *    Found and fixed a MAJOR memory corruption bug (hopefully the only one)
  107.  
  108.   This one was because the SCRIPTING additions (if enabled) didn't allocate
  109.   enough memory (one byte short) when processing a locally entered console
  110.   command.
  111.  
  112. *    Fixed PBBS forwarding problem with BIDS containing '@'s
  113.  
  114. *    Fixed a couple of buglets involving POLLEDKISS and KISS w/CRC
  115.  
  116. *    Several assorted bug fixes in the forwarding code
  117.  
  118. *    The above are included in 2.02pl2 
  119.  
  120. *    Added a patch to allow ';' in BIDS to be accepted (God knows why ;-)
  121.  
  122. *    Fixed bug that prevented error message display if catalog.cat missing
  123.  
  124. *    Fixed incorrect handling of X-fwd response of 'SY 0'
  125.  
  126. *    Added code to allow username and flood zone to begin with a '$'
  127.  
  128.   Again, GOD only knows why........
  129.  
  130. *    Fixed a MAJOR bug that at times truncated outgoing PBBS traffic
  131.  
  132. *    Fixed an FTP buglet, which got response messages out of sync
  133.  
  134.   This only would occur if the transfer type was ASCII, and the file type
  135.   was BINARY. A warning message was being output, but it was missing a needed
  136.   '-' character after the message number, to cause the receiver to ignore
  137.   this string, and search for the next string.
  138.  
  139. *    Fixed an FTP buglet, which made Netscape barf
  140.  
  141.   This occurred because Netscape ALWAYS asks for 'get's of a file using the
  142.   complete pathname (starting with '/'), regardless of the directory it
  143.   believes it is in. This wasn't being handled correctly. Since a human
  144.   wouldn't do this, it was never caught in testing.
  145.  
  146. *    Also, fixed a bug in the dir_ok() function
  147.  
  148.   This function is suppose to check for validity of a directory. It WOULD,
  149.   though, not catch if someone tried to (for instance) do a 'cd xxx' in
  150.   the ftpserver and 'xxx' was NOT a directory, but was instead a file.
  151.   The ftpserver would return '257 "xxx" is current directory'.
  152.  
  153. *    Added code to clean up the 'pbbs' listing if an invalid gateway is found
  154.  
  155. *    Fix for PPP and the newest Livingston Portmaster, used by ISP's
  156.  
  157. *    Fixed a buglet that had crept in on msgs requiring Return Receipts
  158.  
  159. *    The above are included in 2.10b2 
  160.  
  161. *    Fixed a bug which didn't handle the remote password as documented
  162.  
  163. *    Fixed the quirk where there would be two X-Forwarded-To lines at times
  164.  
  165. *    The above are included in 2.10b3 
  166.  
  167. *    The above are included in 2.10b4 
  168.  
  169. *    The above are included in 2.10b5 
  170.  
  171. *    FTP permissions bug fixed for Unix
  172.  
  173.   When adding the new UNIX-like dir display a buglet crept in. While fixing
  174.   this, I expanded the support for symlinks to make it consistent with
  175.   normal Unix displays. Also, the '.' and '..' files are now displayed for
  176.   Unix.
  177.  
  178. *    Fixed a security hole in the HTTP PBBS code
  179.  
  180.  
  181. ------------------------------------------------------------
  182. Improvements:
  183.  
  184. The following optimizations and improvements have occurred.
  185.  
  186.  
  187. *    Added to SQL support in TScript ability to use variables in query line 
  188.  
  189. *    Added a 'mbox prune' command to expire personal areas
  190.  
  191.   All deleted messages are removed, as well as any messages over 1/2 year
  192.   old, from all personal areas (areas NOT in the areas.sys file).
  193.  
  194. *    Added a 'sendmail' command, for sending quick notes from Command Session
  195.  
  196.   Syntax is 'sendmail toaddr [fromaddr] subject data', where 'data' is either
  197.   a string, or a filename preceeded by a "<" (with no space between). If
  198.   no 'fromaddr' is given, it is addressed from 'sysop@'yourhostname.
  199.  
  200. *    Added a HTTP server!
  201.  
  202.   This is built from the code patches from Selcuk Ozturk <seost2+@pitt.edu>
  203.   produced for JNOS. The HTTP he produced/modified were a hybrid between
  204.   HTTP 0.9 and HTTP 1.0, meeting NEITHER spec, really. This code was first
  205.   ported to TNOS and UNIX, made completely compliant with both 0.9 and 1.0
  206.   specs, enhanced RADICALLY, and mostly rewritten. All resemblance to the
  207.   original code at this point is strictly coincidental ;-)
  208.  
  209.   The default base directory for HTTP is 'http/' from your TNOS root directory,
  210.   and the default port is 80, which is the normal HTTP server port. You can
  211.   just 'start http' and it will use these defaults, or you can
  212.   'start http <portnum> <dirname>' to specify other than the
  213.   default port and base directory. You can have up to MAXHTTPPORTS servers,
  214.   on different ports. MAXHTTPPORTS is set to 10. You can stop an active
  215.   HTTP server with 'stop http [portnum]'.
  216.  
  217.   Two commands affect the pacing of the servers. The 'http maxcli' command
  218.   sets the total number of connects to be accepted at a time. The 'http simult'
  219.   command sets the number (of connected sessions) that will be served
  220.   simultaneously. The 'simult' number is the number being serviced, while
  221.   the 'maxcli' - 'simult' is the number who we will accept connects from, but
  222.   that must wait their turn. The 'http tdisc' command sets the inactivity
  223.   timer.
  224.  
  225.   There are four commands that customize the information logged. The
  226.   'http agent' command selects whether you wish to log info on the 'User
  227.   Agents' used to access your server; that is, the client software used
  228.   (Netscape, Mosaic, etc). This info, when logged, is kept in
  229.   'spool/log/agent.log'. The 'http referer' command selects whether you
  230.   wish to log info on which Web pages 'referered' to your pages, which led
  231.   them TO you. This info, when logged, is kept in 'spool/log/referer.log'.
  232.   The 'http post' command selects whether you wish to log info sent if a page
  233.   tries to 'post' a form to your TNOS server. Currently the only support for
  234.   the HTTP 'POST' command is to log the info. No parts of TNOS/HTTP act upon
  235.   a 'POST' request (yet). This info, when logged, is kept in
  236.   'spool/log/post.log'. The 'http misc' command selects whether you wish to
  237.   log info from the other header lines received within client requests to
  238.   your server. These are only really useful if debugging problems in accessing
  239.   the server from a particular Client Software product. This info, when
  240.   logged, is kept in 'spool/log/mischttp.log'.
  241.  
  242.   The 'http exec' enables Server Including of 'exec' directives (only
  243.   available on TNOS/Unix). More on this later. The 'http status' command will
  244.   list the active servers, and the settings of the other 'http' subcommands.
  245.  
  246.   All standard HTML files can be served, as well as graphics files, etc. A
  247.   request for 'http://hostname/' will access the file named 'http/root.html'.
  248.   Giving a URL of a directory name, will do several things. First, it will
  249.   look for a file in that directory named, 'wwwpre.cat', and if found it will
  250.   be sent as the beginning of the page, otherwise a default title and
  251.   heading will be created. Then the contents of the directory will be added.
  252.   These are set up with links to icons, to be set up in a 'http/icons'
  253.   directory. These icons can be found on ftp.lantz.com in '/tnos/icons'.
  254.   Then, lastly, it looks for the presence of a 'wwwpost.cat' file, and adds
  255.   it if found, or generates page ending code, if the file doesn't exist.
  256.   The 'wwwpre.cat' and 'wwwpost.cat' files allow you to customize the page
  257.   in any way you wish, and each directory can be different.
  258.  
  259.   There is ALSO full support for Server Includes (also called Server-Side
  260.   Includes in some books). These allow you to include certain information
  261.   as the page is being rendered. Each Include is of the format:
  262.  
  263.     <!--#cmd param -->
  264.  
  265.   These are documented in most available books on writting HTML pages and
  266.   maintaining HTTP servers. The available standard commands/parameters are:
  267.   
  268.  
  269.       *    echo var="DATE_LOCAL"
  270.  
  271.            Displays the current local date/time.
  272.  
  273.       *    echo var="DATA_GMT"
  274.  
  275.            Displays the current date/time in a fixed GMT format.
  276.  
  277.       *    echo var="DOCUMENT_URI"
  278.  
  279.            Displays the current document's URI/URL.
  280.  
  281.       *    echo var="DOCUMENT_NAME"
  282.  
  283.            Displays the current document's filename.
  284.  
  285.       *    echo var="LAST_MODIFIED"
  286.  
  287.            Displays the current document's last modification date/time.
  288.  
  289.       *    include file="filename"
  290.       *    include virtual="filename"
  291.  
  292.            Includes the contents of the named file, as if it's text were a
  293.            part of this page. The 'virtual' filenames are relative
  294.            filenames from the servers base directory, while the 'file'
  295.            filename are relative filename from the directory of the file
  296.            being processed. There is is NO WAY an included file can be
  297.            processed UPWARD from the base directory of the server.
  298.            Filenames starting with '../' have these stripped off of them.
  299.  
  300.       *    fsize file="filename"
  301.       *    fsize virtual="filename"
  302.  
  303.            This includes the size of the named file. The 'file' and
  304.            'virtual' parameters are described above.
  305.  
  306.       *    flastmod file="filename"
  307.       *    flastmod virtual="filename"
  308.  
  309.            This includes the last modification date/time size of the named
  310.            file. The 'file' and 'virtual' parameters are described above.
  311.  
  312.       *    exec cmd="filename" - TNOS/Unix only
  313.  
  314.            This allows you to insert the output of ANY other Unix program,
  315.            into the page, *IF* the 'http exec' command is set to 'on'.
  316.  
  317.       *    config timefmt="timestr"
  318.  
  319.            Configures the output format for date/time strings within Server
  320.            Include directives. The 'timestr' is a string passed to
  321.            'strftime'.
  322.  
  323.       *    config sizefmt="ABBREV|BYTES"
  324.  
  325.            Configures the output format for filesizes. Setting to 'bytes'
  326.            gives the total number of bytes. Setting to 'abbrev' get output
  327.            rounded to the next K or Meg. The default is 'abbrev'.
  328.  
  329.       *    config errmsg="errorstr"
  330.  
  331.            Sets the error message added to the page if an unknown directive
  332.            is used.
  333.  
  334.   The commands that are unique to TNOS are:
  335.   
  336.       *    echo var="HOSTNAME"
  337.  
  338.            Displays the hostname of the TNOS server machine.
  339.  
  340.       *    echo var="TOTAL_HIT_COUNT"
  341.  
  342.            Displays the total number of hits to this server.
  343.  
  344.       *    echo count="filename"
  345.       *    echo icount="filename"
  346.       *    echo scount="filename"
  347.  
  348.            Gives/sets number of times a file has been accessed, based on
  349.            the checkpoint file 'filename'. The 'filename' file is located
  350.            in the 'http/counts' directory. The 'count' parameter is used
  351.            to simply return the current count recorded in checkpoint file
  352.            'filename'. The 'scount' parameter increments the count in the
  353.            checkpoint file 'filename', but does not add it to the
  354.            displayed page. The 'icount' parameter does both; it increments
  355.            the count and displays the new count from the checkpoint file.
  356.  
  357. *    Added to the spec for the forward.bbs file, an 'IF MODE = xx' condition
  358.  
  359.   This allows you to set up different forwarding conditions for unusual times
  360.   (like ARES/RACES activations), and modify how the forwarding will be parsed.
  361.   This looks at the value set by the 'forward mode' command.
  362.  
  363. *    Outbound forwarding first checks and doesn't start if all messages are held
  364.  
  365. *    The above are included in 2.02pl1 
  366.  
  367. *    MAJOR, MAJOR, MAJOR, MAJOR, MAJOR CHANGE!!!!!!!
  368.  
  369.  
  370.   Well, not THAT big, just don't want to answer a NEW FAQ daily! ;-)
  371.  
  372.   The 'mbox' command is renamed to the 'pbbs' command (break that 'mb' habit).
  373.   All log messages that used to have 'MBOX' in them, now have 'PBBS'.
  374.   The spool/log/mbox.log file is now the spool/log/pbbs.log file. The
  375.   etc/help/mbox.hlp file needs to be renamed to etc/help/pbbs.hlp. The
  376.   source file 'mboxcmd.c' was renamed to 'pbbscmd.c'. These changes should
  377.   complete the partial change in terminology from MBOX to PBBS. Some internal
  378.   source code references still use 'mbox' internally, but all external usage
  379.   should now be PBBS.
  380.  
  381.   The BBS 'mboxusers' command remains, but will be phased out later. A
  382.   new 'pbbsusers' command was added, and is the desired command.
  383.  
  384.   A 'mailbox' (or 'mbox') is now used strictly to reference a users mail file,
  385.   while the process used to access this file (and public files) is the PBBS.
  386.  
  387.   CHANGE THESE!!!! (don't say I didn't try ;-)
  388.  
  389. *    Removed the never-completed TNOS-to-TNOS LZW forwarding
  390.  
  391.  
  392.   So long, to the 'forward lzw' command, and (for now), the 'T' in the PBBS
  393.   SID.
  394.  
  395. *    Added code from KA9Q/JNOS for a Terminal Server
  396.  
  397. *    Added code to handle W0RLI X-compressed forwarding protocol
  398.  
  399. *    The above are included in 2.02pl2 
  400.  
  401. *    Added additional Server Side Includes to the HTTP server for PBBS usage
  402.   
  403.       *    echo var="VERSION"
  404.  
  405.            Displays the version release number of the TNOS server machine.
  406.  
  407.       *    echo var="USERNAME"
  408.  
  409.            Displays the current HTTP/PBBS username, or 'unknownUser' for
  410.            not PBBS usage.
  411.  
  412.       *    echo var="QUOTE"
  413.  
  414.            Displays the current Quote of the Day string, if the quote
  415.            server enabled.
  416.  
  417.       *    echo var="AREANAME"
  418.  
  419.            Displays the current area name, if applicable.
  420.  
  421.       *    echo var="MESSAGENUM"
  422.  
  423.            Displays the current area message number, if applicable.
  424.  
  425.       *    echo var="PERMISSIONS"
  426.  
  427.            Displays the output of the PBBS command 'security' for this user
  428.  
  429.       *    echo var="PREV_MSGNUM"
  430.  
  431.            Displays the current area message number - 1, if current is > 1.
  432.  
  433.       *    echo var="NEXT_MSGNUM"
  434.  
  435.            Displays the current area message number + 1, if more messages.
  436.  
  437.       *    echo var="PREV_LIST_START"
  438.  
  439.            Displays the current area message number - 100, if current is
  440.            > 100.
  441.  
  442.       *    echo var="NEXT_LIST_START"
  443.  
  444.            Displays the current area message number + 100, if more than
  445.            100 more messages.
  446.  
  447.       *    echo var="PREV_MSG_BUTTON"
  448.  
  449.            Inserts the /bbs/pmbutton.cat file if there is a previous
  450.            message. This is used to insert a PREV button, using
  451.            PREV_MSGNUM to create a URL.
  452.  
  453.       *    echo var="NEXT_MSG_BUTTON"
  454.  
  455.            Inserts the /bbs/nmbutton.cat file if there is a next message.
  456.            This is used to insert a NEXT button, using NEXT_MSGNUM to
  457.            create a URL.
  458.  
  459.       *    echo var="PREV_LIST_BUTTON"
  460.  
  461.            Inserts the /bbs/plbutton.cat file if there are previous
  462.            messages to list in an area. This is used to insert a PREV
  463.            button, using PREV_LIST_START to create a URL.
  464.  
  465.       *    echo var="NEXT_LIST_BUTTON"
  466.  
  467.            Inserts the /bbs/nlbutton.cat file if there are more messages to
  468.            list in an area. This is used to insert a NEXT button, using
  469.            NEXT_LIST_START to create a URL.
  470.  
  471.       *    echo var="AREA_LIST"
  472.  
  473.            Inserts the actual listing of an area, within the
  474.            /bbs/arealist.html file.
  475.  
  476.       *    echo var="AREA_MSG"
  477.  
  478.            Inserts the actual body of a message, within the
  479.            /bbs/msglist.html file.
  480.  
  481.       *    echo var="TOTAL_HITS"
  482.  
  483.            Same as 'TOTAL_HIT_COUNT' - included for compatibility with
  484.            JNOS HTTP patches.
  485.  
  486.       *    echo var="REQ_FROM"
  487.  
  488.            Inserts the calling system's 'From:' line's data, if one was
  489.            sent.
  490.  
  491.       *    echo var="REQ_REFERER"
  492.  
  493.            Inserts the calling system's 'Referer:' line's data, if one was
  494.            sent.
  495.  
  496.       *    echo var="REQ_AGENT"
  497.  
  498.            Inserts the calling system's 'Agent:' line's data, if one was
  499.            sent.
  500.  
  501.       *    exec bbs="command"
  502.  
  503.            Executes the command 'bbs' within the PBBS, logged in as the
  504.            current user. Only available if the Command Session command
  505.            'http execbbs' is set to 'on'. CAUTION should be taken to only
  506.            use commands that are NOT interactive, since no interaction is
  507.            available.
  508.  
  509.   Requests for /bbs or /bbs/ are changed to /bbs/<username>.html
  510.  
  511.   Requests for /bbs/area are changed to /bbs/area/<username>.html
  512.  
  513.   Requests for /bbs/message/<areaname> are changed to /bbs/area/<areaname>.html
  514.  
  515.   Requests for /bbs/<username>.html are created from the /bbs/user.html file
  516.  
  517.   Requests for /bbs/area/<areaname>.html are created from the /bbs/areaopt.html
  518.     file
  519.  
  520.   Requests for /bbs/area/<areaname>/xx.html creates an area list for 'areaname'
  521.   starting with message 'xx'. If 'xx' is the string 'new', then only new
  522.   messages in this area are listed. This is based on the
  523.   /bbs/user/arealist.html file.
  524.  
  525.   Requests for /bbs/message/<areaname>/xx.html creates a message listing for
  526.   message 'xx' in area 'areaname'. This is based on the /bbs/user/msglist.html
  527.   file.
  528.  
  529. *    Added a Command Session 'register' command, for TNOS registration info
  530.  
  531. *    Added a PBBS 'registry' command, to display TNOS registration info
  532.  
  533. *    Added a completly configurable WWW interface to the PBBS
  534.  
  535.   All URL's starting with /bbs have required authentication. The existing
  536.   ftpusers file is used.
  537.  
  538. *    Complete revamping of Unix Makefile
  539.  
  540. *    Added direct URL request of PBBS command
  541.  
  542.   All URL's of /bbs/cmd/xxxx send back a text file of the 'xxxx' PBBS commands'
  543.   output. To pass parameters to the 'xxxx' command, follow the command with
  544.   a '?' and separate each parameter with a '?'.
  545.  
  546.   All URL's of /bbs/cmd/area?yyy/xxxx send output like the above, but first
  547.   change areas to the 'yyy' area of the PBBS.
  548.  
  549.   Examples:
  550.  
  551.          http://ko4ks.ampr.org/bbs/cmd/finger?ko4ks
  552.          http://ko4ks.ampr.org/bbs/cmd/area?world/l?1?10
  553.  
  554.  
  555.   *** NOTE:
  556.   The 'http execbbs' Command Session command must be 'on'.
  557.   This COULD provide a security problem, so enable at your own risk!
  558.  
  559. *    Added SIZE command to FTP server, for Netscape d/l remaining time gfx
  560.  
  561.  
  562.   Discovering this omission comes from reading an email of Selcuk
  563.   (seost2+@pitt.edu) to the NOS-BBS mailing list. I had THOUGHT I had added
  564.   this already, but hadn't.
  565.  
  566. *    Added display of etc/banner.ftp (if exists) to login for FTP server
  567.  
  568. *    FTP permissions improved for Unix
  569.  
  570.   The new UNIX-like dir display needed a little more work with the permissions
  571.   portion of the display. Now, for TNOS/Unix, the actual file permissions are
  572.   displayed. NOTE: symlinks display the ACTUAL permissions, following the
  573.   symlink.
  574.  
  575. *    Added PASV support to FTP server
  576.  
  577. *    Added a 'etc/reject.dat' file, like FBB's 'reject.sys' file
  578.  
  579.   This is to help prevent message spamming, among other things
  580.  
  581.   The format is:
  582.  
  583.     #REJECT.DAT
  584.         # action is one of 'R'eject, 'H'old, 'L'ocal hold, 'D'efer, or 'A'ccept
  585.         #type from to  @bbs bid      max_size    action
  586.         #B    *    *   *    *_AZGATE 0           R
  587.         #
  588.         B     *    *   *    *_HOLD   0           H
  589.         B     *    *   *    *        6000        A
  590.  
  591.   It will work with PBBS messaging and smtp gatewaying. X-FWD'ing only
  592.   sends the BID during negotiation, so only that is checked at that time. If
  593.   the SMTP server sees a REJECT or DEFER action, it will mark the message as
  594.   deleted. Only messages sent by a non-BBS in the PBBS are eligible for a
  595.   LOCALHOLD. The 'etc/reject.dat' file lines are processed in order, and
  596.   concludes at the first match.
  597.  
  598.   This is all the same data as the FBB 'reject.sys' file, with the parameters
  599.   changed in their order.
  600.  
  601. *    Added a 'pbbs reject' command, to enable/disable 'etc/reject.dat'
  602.         processing
  603.  
  604. *    For Unix - Added a script to analyze system and build a 'make.inc' file
  605.  
  606.   This should properly care for GCC, ELF, ncurses, tclsh, and LOCKDIR
  607.   configuration.
  608.  
  609. *    Added a 'warnings' command, to warn of missing vital commands
  610.  
  611.   This idea came from the tales of woe of one of our number who did
  612.   not have a default IP route set. Seems that under certain circumstances
  613.   (not all) TNOS barfs if someone connects to them, and there is not a
  614.   route TO them, and the default route is not set.
  615.  
  616.   The WARNINGS commmand lists possible problems, which MIGHT have made
  617.   life easier, at least for this ONE individual.
  618.  
  619.   The WARNINGS command automatically executes after the autoexec.nos (if
  620.   not disabled within it), listing things which SHOULD be set, that are
  621.   not; i.e. hostname, ip address, default route, etc. That display can also be
  622.   called from the Command Session console, with 'warnings ?'. You can
  623.   explicitly enable/disable the startup warning from autoexec.nos with
  624.   'warnings on' and 'warnings off', respectively.
  625.  
  626.   It also will remind you of the problems every 20 commands in the Command
  627.   session, unless it is disabled. Better to be a nag, than to have us in
  628.   ignorance! ;-)
  629.  
  630. *    Added two new permission values to ftpusers file
  631.  
  632.   These are related to the HTTP PBBS support currently in TNOS (and later to
  633.   be added). These are:
  634.  
  635.   #   LABEL        DECIMAL      HEX        DESCRIPTION
  636.   #   no_http_ip  33554432   0x02000000    (Disallow http PBBS access via IP)
  637.   #   no_http_ax  67108864   0x04000000    (Disallow http PBBS access via AX25)
  638.  
  639. *    Added an 'http anonsend' command, to allow restricting mail postings
  640.  
  641.   This allows you to restrict the HTTP PBBS code to only allow non-anonymous
  642.   users (those with entries in the ftpusers file) to be able to send mail.
  643.  
  644. *    Added a MAN Command Session command, to display manual pages
  645.  
  646.   Not much use till some man pages are made ;-), but the coding is done
  647.   in anticipation....
  648.  
  649.   While TNOS man pages will be created in typical Unix MAN page format
  650.   (requiring nroff to format), the TNOS 'man' command will read CAT files,
  651.   which are the pre-formatted version of the man pages. While both formats
  652.   MAY be distributed, only the CAT files are used internally by TNOS.
  653.  
  654. *    Added to distribution MAN files for all callable functions in TNOS
  655.  
  656.   This is NOT user level documentation, but it is automatically generated
  657.   man pages of the entire source tree, listing all non-static functions within
  658.   all *.c files. This uses a tool called C2MAN (at fine search engines near
  659.   you). This CAN be used by those TNOS-hackers, to help wade through the
  660.   wealth of files making up TNOS.
  661.  
  662.   They can be viewed within TNOS with the 'man' command, or Unix users can
  663.   add TNOS' 'man' directory to their MANPATH environment variable, and then
  664.   'man' from their favorite shell.
  665.  
  666.   Currently, there are 716 development man pages, so more useful than others.
  667.  
  668. *    Changed the NNTP server code to the 'experimental' code
  669.  
  670.   This is the code that Gareth Rowlands (gareth@lightfox.demon.co.uk)
  671.   started the port to TNOS on, and was distributed in an experimental package
  672.   for several months. I've cleaned up the sources a bit, and replaced the
  673.   old code with this.
  674.  
  675. *    Forward file locking added
  676.  
  677.   If a record got added into a *.fwd file when a forwarding session is
  678.   concluding, sometimes the new record got missed, and the *.fwd file
  679.   gets deleted, losing that new record. Rare, but needed to be addressed.
  680.   Now the fwd file is locked before cleanup and before adding a new entry.
  681.   The code will continue to try to lock the file once a second until it is
  682.   available. There is no way for the previous problem to now occur.
  683.  
  684. *    The above are included in 2.10b2 
  685.  
  686. *    The above are included in 2.10b3 
  687.  
  688. *    Added code to scan R: lines of incoming messages for altered BIDs
  689.  
  690.   There are two commands 'forward alteredbids' and 'forward alteredhold'. The
  691.   first turns on/off the checking. The second command determines if any
  692.   messages found with altered bids will be held (if on) or deleted (if off).
  693.  
  694. *    The above are included in 2.10b4 
  695.  
  696. *    The above are included in 2.10b5 
  697.  
  698. *    Added a PBBS 'bid' command
  699.  
  700.   How many times have you seen a message (usually sent to SYSOP@WW)
  701.   indicating a troublesome message, and all that was given was the BID?
  702.   Kinda hard to find on a multi-area BBS, huh?
  703.  
  704.   No longer! A new BBS command 'bid xxxx' will search for bid 'xxxx', and
  705.   tell you which area it can be found in. Then you can change to that area,
  706.   and use the 'L$ xxxx' command to find the message.
  707.  
  708.   This adds the area to the information in the history file, and will NOT
  709.   be able to help you with the messages on your system prior to release
  710.   2.10, but it will try, and tell you it couldn't find it....
  711.  
  712. *    Added FreeBSD patches
  713.  
  714.  
  715. ------------------------------------------------------------
  716. Minor Changes:
  717.  
  718. The following minor changes have occurred.
  719.  
  720.  
  721. *    A few Convers optimizations added by Dave Salaman
  722.  
  723. *    Added code to prevent crashes with corrupted wpage/history files 
  724.  
  725. *    A few assorted conditional code changes and Sun fixes from Bob Smith
  726.  
  727. *    Completed the compiling sanity checking in config.chk
  728.  
  729. *    Now forces a users.dat update when asked for HOME BBS
  730.  
  731.   This is rather than waiting until the user exits. If the user DIDN'T exit
  732.   normally, this would not get updated, and they would be asked again next
  733.   time.
  734.  
  735. *    Added code to prevent eternal SMTP looping if *.txt file missing
  736.  
  737.   Shouldn't happen in reality, but discovered this in testing.
  738.  
  739. *    Added a log file entry for each MH/MA/MT/MP command
  740.  
  741. *    Added a pre-defined finger 'user' of 'uptime'
  742.  
  743. *    System error message now addressed to 'syserror', not sysop
  744.  
  745.   If you do not have 'errors off' and wish it to work as with prior releases
  746.   of TNOS, add a 'syserror sysop' to your rewrite file.
  747.  
  748. *    Added signal handling code for SIGWINCH, for X window size changes
  749.  
  750. *    Changed 'smtp batch' from default of 'on' to 'off'
  751.  
  752. *    Creates the LOCKDIR if it doesn't exist
  753.  
  754. *    Changed 'forward mode' from an on/off value to a numeric value
  755.  
  756.   Setting mode to zero, disables forwarding.
  757.  
  758. *    The above are included in 2.02pl1 
  759.  
  760. *    Added missing code to verify checksum on received YAPP messages (FBBCMP)
  761.  
  762. *    Changed default of 'forward ctlz' from off to on
  763.  
  764. *    Added a 'forward active' command
  765.  
  766. *    Added a 'forward laston' command
  767.  
  768. *    Several tweeks to the forwarding subchannel code
  769.  
  770. *    Several tweeks to the AX25 code to properly handle pthresh == 65535
  771.  
  772. *    Added a 'PERSONALS' and a 'BULLETINS' attribute to the forward.bbs file syntax
  773.  
  774.   See revised TNOSFWD.TXT
  775.  
  776. *    Added an 'include' directive to the forward.bbs file syntax
  777.  
  778.   See revised TNOSFWD.TXT
  779.  
  780. *    Added a 'forward minidle' command
  781.  
  782. *    Added a new PBS forwarding connect type of 'incoming'
  783.  
  784.   This is for PBBSs that are incoming connects, only. A blank (or missing)
  785.   CONNECT line in forward.bbs will NEVER allow outbound forwarding. Use
  786.   'CONNECT = incoming' for any PBBSs that you NEVER connect out to, but
  787.   that poll you or drop off traffic to you.
  788.  
  789. *    Added Dave Horsfall's patch to strip trailing blanks on headers for MW
  790.  
  791. *    Added code to eliminate XLZW negotiations w/non-44 SMTP remotes
  792.  
  793. *    Changed order of 'forward summary' subcommand
  794.  
  795.   End result is 'fo s' (or 'fo su') is 'forward summary'. 'fo su' USED to be
  796.   'forward subchannel'. Might want to check the autoexec.nos file, if you
  797.   have abbreviated this....
  798.  
  799. *    Added a new forward.bbs attribute, 'LIMITTYPE'
  800.  
  801.   This allows you to limit the forwarding protocol type used with this BBS.
  802.   Values are 'FBB' (for FBB compressed forwarding), 'FBB-NONCOMPRESSED', and
  803.   'MBL' (or 'RLI') for non-FBB forwarding. The default is 'FBB'.
  804.  
  805. *    Added code to prevent the BBS sending more than one SID
  806.  
  807. *    Added to PBBS forwarding script WAIT command
  808.  
  809.   Now, you can specify both a positive string, and a negative string.
  810.   For example, when forwarding via a modem (coming soon),
  811.   you can do 'WAIT 60 CONNECT|BUSY'
  812.   and if 'CONNECT' is found, it succeeds, but if 'BUSY' is found, it fails.
  813.   A special case exists if you do, for example, 'WAIT 60 CONNECT|'. In this
  814.   case, if 'CONNECT' is found it succeeds, but if ANYTHING else is found,
  815.   it fails.
  816.  
  817. *    Extended the BBS 'MK' command to allow kicking individual PBBSs
  818.  
  819.   The Mailbox Kick (MK) command (which is the same as the Command Session
  820.   'forward kick' command, now can also be called as 'MK PBBSNAME [poll]',
  821.   which is the same as the Command Session 'forward kickone PBBSNAME [poll]'
  822.   command.
  823.  
  824. *    Added code to by default suppress POLLEDKISS polls from trace display
  825.  
  826.   Added an optional 'attach asy' flag for devices of type 'pkiss'. This flag
  827.   ('t'), if used, restores the displaying of POLLEDKISS polls in the trace
  828.   display.
  829.  
  830. *    Many assorted tweeks of the forwarding code 
  831.  
  832. *    The above are included in 2.02pl2 
  833.  
  834. *    Added commandline option (-A xxx) to allow setting of max AX25/SLIP devices
  835.  
  836. *    Added commandline option (-B xxx) to allow setting of max BBS processes
  837.  
  838. *    Supressed the printing of data for inactive subchannels in 'fo sub'
  839.  
  840. *    Added to the 'fo sub' syntax a description name
  841.  
  842. *    Added a 'forward sysopprotect' command
  843.  
  844.   This (if on) will treat personal messages in an area named 'SYSOP' the
  845.   same as public bulletins, that is, the messages will NOT be deleted after
  846.   they are forwarded.
  847.  
  848.   Since I and most others place SYSOP@* messages in an area named 'SYSOP',
  849.   that is NOT available as a public area (in the 'areas' file), these messages
  850.   will normally be deleted when they are forwarded to the first forwarding
  851.   station. Since a 'SP SYSOP@*' is ACTUALLY a special case, and treated much
  852.   the same as a bulletin, this command allows this.
  853.  
  854. *    Added code to make incoming PBBS forwarding sessions mark laston time
  855.  
  856.   Discovered that I missed these....
  857.  
  858. *    Added code to do one last pass through the forwarding areas
  859.  
  860.   With FBB and X-compressed forwarding, there was a chance that if you were in
  861.   the last areas forwarding, and new messages came in for that PBBS, there
  862.   was on occasion the possibility that the PBBS would disconnect, not seeing
  863.   these messages, leaving them for the next pass.
  864.  
  865.   I added code (that no one will really notice, unless you run with the
  866.   'fo fbbtr' on all the time), that will make ONE last pass through when it
  867.   is done, until it makes at least one pass in which it forwarded NO messages.
  868.   This additional check should ensure that all mail passes off (unless held)
  869.   before a disconnect.
  870.  
  871. *    Added a '-?' commandline option, to simply display the version info
  872.  
  873. *    Added a check upon startup of the catalog.cat file
  874.  
  875.   The check is made right at the beginning for the catalog.cat file. If it
  876.   is NOT found, an error is reported, and the program ends. If the file
  877.   looks corrupted, then an error is reported, but it attempts to run.
  878.   If the version in the header of the catalog.cat file does NOT match the
  879.   version of the TNOS executable, a warning is given, since death could
  880.   occur soon afterward ;-)
  881.  
  882. *    Code added to insure forwarding queue rescan if additions while forwarding
  883.  
  884.   Previously during FBB and X-compressed forwarding, if a new message came
  885.   in for an area already scanned (probably personal or at least higher
  886.   priority mail), it could have waited for as many as the third following
  887.   negotiation. While this was not bad, it was also not optimal.
  888.  
  889.   Now, when any new message is added to the queue, it forces a new rescan
  890.   at the next negotiation.
  891.  
  892. *    MAJOR rewriting of the HTTP code, removing hardcoded sequences
  893.  
  894. *    MANY assorted cleanups
  895.  
  896. *    Added logic to mkconfig.tcl to flag new options with '<NEW>'
  897.  
  898. *    Minor change, but lengthy in time - rcsid strings in all *.c files
  899.  
  900. *    Added display of RCS symbolic name (if present) to the 'status' command
  901.  
  902. *    Added the compilation date/time to the info in the 'status' command
  903.  
  904. *    In addition to 'desc.ftp', '.message' is also displayed by FTP server
  905.  
  906.   This is for non-MSDOS, for the obvious reason that '.message' is not a valid
  907.   MSDOS filename. These files (if they exist) are displayed when a user
  908.   does a 'cd' into the directory.
  909.  
  910. *    More strings moved to catalog.cat
  911.  
  912. *    Added '?' option to prompts of mkconfig.tcl, with help for most items
  913.  
  914. *    Changed it so that Permanent PBBS messages cannot be killed
  915.  
  916.   They must FIRST be made non-permanent (temporary) with the 'MT' command.
  917.  
  918. *    Attempting an 'all areas' kill must pass an 'are you sure' prompt
  919.  
  920.   I have from time to time done a '!k' when I meant to do a '!l', which ended
  921.   up deleting the first unread message (or message 1 in areas with no new
  922.   messages). Now this potentially danger global command must pass a sanity
  923.   prompt.
  924.  
  925. *    Added a 'smtp gateway none' option, to clear a previous gateway
  926.  
  927. *    Added a verification msg to the PBBS 'group' command
  928.  
  929. *    Added a new compile flag (Unix only) to enable uptime in 'ps' display
  930.  
  931. *    Changed default for 'domain update' from on to off
  932.  
  933. *    The above are included in 2.10b2 
  934.  
  935. *    Added a TNOS lockfile, for easy checking for existance of running TNOS
  936.  
  937.   I will be adding a TNOS lockfile, named 'tnos.lock', which will be placed
  938.   in the TNOS home directory on startup. It will have a single line in it,
  939.   which will be the PID of the active TNOS process. TNOS will look for this
  940.   on startup, and if found, it will check to see if that PID is still active.
  941.   If it *is* active, the new TNOS will die, otherwise it will blow away
  942.   the stale lockfile.
  943.  
  944.   This is just like the way the TNOS (and uucp, etc) deal with the lock
  945.   files that protect serial ports.
  946.  
  947.   It will also give another (better) way to check for TNOS being active in
  948.   scripts, for those of you who wish to (I have found NO need for this, but
  949.   to each their own). Instead of the ps piped into grep, you could:
  950.  
  951.         ps -p `cat /nos/tnos.lock`
  952.  
  953.   to check for it being up.
  954.  
  955. *    Added command line variable expansion to processing of onexit.nos
  956.  
  957. *    The above are included in 2.10b3 
  958.  
  959. *    Added code to display X-BBS-Hold header line when SYSOPs reading msgs
  960.  
  961.   Allows easier determination of why the message is held. If there is NO
  962.   X-BBS-Hold line, it was caught by the userhold.dat file or the wordhold.dat
  963.   file. Otherwise, the reason will be in the X-BBS-Hold line.
  964.  
  965. *    Changed default flow control for Command Session from on to off
  966.  
  967. *    MANY, MANY, MANY cleanups, due to lint'ing
  968.  
  969. *    The above are included in 2.10b4 
  970.  
  971. *    The above are included in 2.10b5 
  972.  
  973.  
  974. ------------------------------------------------------------
  975. Known Bugs:
  976.  
  977. The following are known bugs that are being worked on during the development
  978. of release 2.10. These may or may not be fixed in release 2.10.
  979.  
  980. *    Sending mail to the proxy server, doesn't seem to work properly
  981.  
  982.   The first problem with this was that the proxy server was NOT accounting
  983.   for the fact that some messages will have mini-RFC headers in it.
  984.  
  985.   There is another problem, though, that I am looking into, which seems to
  986.   be related to calling scripts from within scripts (which proxy.scr DOES).
  987.  
  988. *    Displaying parameter strings with a '\r' needs adjustment
  989.  
  990.   If you define a parameter string (like 'ax25 bctext') to be multi-line
  991.   strings with a '\r', the output to the screen may not be what you expect.
  992.  
  993. *    Duplicate entries in the WP files
  994.  
  995.   While not harmful, the WPages routines SHOULD be overwritting existing
  996.   entries, NOT creating new ones.
  997.  
  998. *    Problem with a CC: to a public area
  999.  
  1000.   If you send a 'SP' BBS message (or 'SC') and end up with a CC: to a public
  1001.   area it has an 'X-BBS-Type' line defining it as personal, when it should be
  1002.   bulletin.
  1003.  
  1004. *    Convers compatibility problem with NON-TPP servers
  1005.  
  1006.   If the callsign/nickname combo's is larger than 9 characters, this will
  1007.   prevent a Jnos host that is linked in from hearing what that person is
  1008.   saying.. TPP has this problem, too.....
  1009.  
  1010. *     None other at this time.... ;-)
  1011.  
  1012.  
  1013. ------------------------------------------------------------
  1014. To-Do List:
  1015.  
  1016. The following are things on my 'to-do' list that may eventually
  1017. be done, but not necessarily by the next release.
  1018.  
  1019.  
  1020. *    Complete the spec and coding of the non-IP HTTP PBBS interface
  1021.  
  1022. *    Investigate incorporating into TNOS a userfs extension
  1023.  
  1024.   This would allow *any* Linux (and possibly other Unix) program to open a
  1025.   file and access certain TNOS features. For instance a terminal program like
  1026.   minicom could open a device:
  1027.  
  1028.     /tnos/connect/lan/k0zxf/ko4ks-1/813044
  1029.  
  1030.   and do the equivalent to 'connect lan k0zxf ko4ks-1 813044'.
  1031.  
  1032.   You could incorporate a copy of your current usage stats into a email
  1033.   message in Pine, by simply inserting a file named /tnos/stats/usage/general.
  1034.  
  1035. *    Add capability to allow use of OS commands
  1036.  
  1037.   Due to the obvious restriction of MS-DOS, this WILL be limited to Unix
  1038.   version only.
  1039.  
  1040. *    Add better support for PBBS<->Internet mail address translation
  1041.  
  1042.   The 'translate' file and improved handling of aliases is a START, but more
  1043.   work needs to be done here. Maybe a 'translate.out' file...
  1044.  
  1045. *    Still better handling of AUTO/LOCAL ax25 routes
  1046.  
  1047.   Improvement by making an ax25 route entry part of the connection block,
  1048.   using this unique AUTO route for this connection only.
  1049.  
  1050. *    Support (optimization) for ncurses 1.9.x for performance
  1051.  
  1052. *    Color support output to Unix console
  1053.  
  1054.   The various color commands don't work with the Unix kernel and curses.
  1055.   Annoying, but just possible unexpected output. No crashes.
  1056.  
  1057. *    Consider adding a 'R x - x' syntax to the BBS read command
  1058.  
  1059. *    Consider adding IP MASQ support
  1060.  
  1061. *    Add code to allow a TIP socket type, for use with LL Modems
  1062.  
  1063. *    Tweek the WPages code a bit
  1064.  
  1065.  
  1066.   Need to improve the code that insures
  1067.   that the wpagebbs entries are correct, of the proper length, and actually
  1068.   look like hier addresses. Also, make the expiring of WPages files less
  1069.   fragile if the file has become corrupted.
  1070.